﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ВидыОперацийЗакрытиеВнутреннихЗаказов
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"f72b9f1c-bda4-48d0-ace9-f579dc5bd544\", \"Представление\":\"ЗакрытиеЗаказов\"}")]
		ЗакрытиеЗаказов = 0,//закрытие внутренних заказов
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"10ae8308-00d2-436f-9ec0-18ff9c507268\", \"Представление\":\"СнятиеРезервов\"}")]
		СнятиеРезервов = 1,//снятие резервов и размещения
	}
	public static partial class ВидыОперацийЗакрытиеВнутреннихЗаказов_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ЗакрытиеЗаказов = new Guid("79f5e9ac-5bdc-44d5-48d0-bda4f72b9f1c");//закрытие внутренних заказов
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СнятиеРезервов = new Guid("ff18c09e-509c-6872-436f-00d210ae8308");//снятие резервов и размещения
		public static ВидыОперацийЗакрытиеВнутреннихЗаказов Получить(this ВидыОперацийЗакрытиеВнутреннихЗаказов Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийЗакрытиеВнутреннихЗаказов Получить(this ВидыОперацийЗакрытиеВнутреннихЗаказов Значение, Guid Ссылка)
		{
			if(Ссылка == ЗакрытиеЗаказов)
			{
				return ВидыОперацийЗакрытиеВнутреннихЗаказов.ЗакрытиеЗаказов;
			}
			else if(Ссылка == СнятиеРезервов)
			{
				return ВидыОперацийЗакрытиеВнутреннихЗаказов.СнятиеРезервов;
			}
			return ВидыОперацийЗакрытиеВнутреннихЗаказов.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийЗакрытиеВнутреннихЗаказов Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийЗакрытиеВнутреннихЗаказов Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийЗакрытиеВнутреннихЗаказов.ЗакрытиеЗаказов: return ЗакрытиеЗаказов;
				case ВидыОперацийЗакрытиеВнутреннихЗаказов.СнятиеРезервов: return СнятиеРезервов;
			}
			return Guid.Empty;
		}
	}
}